'''
习题第34练:
需求:定义一个函数，该函数用于计算斐波那契数列中的第n项
要波那契数列:数列的前两项均为 1，从第三项开始，每一项都是其前两项的和。如:1、1、2、3、5、8、13、21、34、..
'''
# 不用递归
def fibonacci(n):
	f1=1
	f2=1
	while n-2>0:
		fn=f1+f2
		f1=f2
		f2=fn
		n-=1

	return fn

# 使用递归
def fibonacci_digui(n):
	if n<0:
		print('输入错误，请重新输入')
		return 
	elif n==1 or n==2:
		return 1
	else:
		return fibonacci(n-1)+fibonacci(n-2)	

# print(fibonacci(500))
# print(fibonacci_digui(10000))